# -*- coding = utf-8 -*-
# @Time : 2022/1/13 23:13
# @Author : GHHHHHHHHH
# @File : positioningInterface.py
# @Software : PyCharm

from mapInterface import Map
import cv2 as cv

class Position(object):
    def __init__(self, _x, _y):
        self.x = int(_x)
        self.y = int(_y)

    def __repr__(self):
        return f"A point at {self.x, self.y}"

    def locatePoint(self, _map):
        for i, color in enumerate(_map.colors):
            if tuple(color) == tuple(_map.map[self.x][self.y]):
                return i
        return None

# 使用样例
myMap = Map()
# ====================================================================
# 货架图样例 mode1
myMap.setMapMode(1)
myMap.initMap(externalMap=cv.imread(".\\background.png"))
# ====================================================================
# 商家已分好区域样例 mode2
# myMap.setMapMode(2)
# myMap.initMap(externalMap=cv.imread(".\\result1.jpg"))
# ====================================================================
# 存储样例 缓存
# myMap.setMapMode(1)
# myMap.initMap(externalMap=cv.imread(".\\MapFile.png"), saveMap=True)
# ====================================================================
point = Position(384, 629)
print(point.locatePoint(myMap))

